Skip to content

Add MkDocs Material documentation site with per-platform webhook guides and GitHub Pages deployment - #23

Closed
cvraut with Copilot wants to merge 2 commits into
documentation_updatesfrom
copilot/start-documentation-page
Closed

Add MkDocs Material documentation site with per-platform webhook guides and GitHub Pages deployment#23
cvraut with Copilot wants to merge 2 commits into
documentation_updatesfrom
copilot/start-documentation-page

Conversation

Copilot AI commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

whecho had no structured documentation beyond a README, making it hard to discover and difficult to onboard across platforms other than Discord.

Documentation structure (docs/)

  • index.md — Home page: what is whecho, quickstart (init → send), CLI reference, supported platforms table, TOC
  • api.mdwhecho_simple reference: signature, parameters, return values, exceptions, platform auto-detection table, config file locations per OS
  • platforms/discord.md — Discord webhook creation walkthrough
  • platforms/slack.md — Slack App + Incoming Webhooks setup walkthrough
  • platforms/webex.md — Webex App Hub webhook setup; calls out Markdown support via the markdown payload field
  • platforms/teams.md — Teams Incoming Webhook connector setup, including note on new Teams app navigation differences

Config (mkdocs.yml)

Material theme with dark/light toggle, navigation.tabs, navigation.sections, content.code.copy, and pymdownx extensions for admonitions and fenced code.

CI (/.github/workflows/docs.yml)

Builds with mkdocs build --strict and deploys to GitHub Pages via actions/upload-pages-artifact + actions/deploy-pages on push to main. Pins mkdocs<2 to avoid the breaking MkDocs 2.0 release (incompatible with Material theme).

One-time setup required: enable GitHub Pages in repo Settings → Pages → Source: GitHub Actions.

Original prompt

This section details on the original issue you should resolve

<issue_title>Start a FAQ or documentation page detailing more supported use cases</issue_title>
<issue_description>I want more detailed setup instructions across other messaging platforms. Currently the documentation only shows how to use whecho with discord.

Either start a documentation page using sphinx, pandocs, docusaurus, etc... that contains more nuanced use cases and setup details

currently progress is being made to support slack as well. Perhaps integrate the slack webhook tutorial too

<agent_instructions>Use the Material Theme with Mkdocs to start a basic documentation page for whecho. The documentation should include:

  • a basic home page detailing what is whecho and including a quickstart section with a detailed table of contents at the bottom.
  • a page about the public python api
  • detailed pages on how to obtain webhook links and integrate with different messaging clients
    • discord
    • slack
    • webex
    • teams

The documentation should be hosted on github within this project so also include a seperate yaml file in workflows to build and upload the documentation.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@cvraut seems like we can use github pages for hosting and deployment of the project. This can also aid in better SEO for whecho, currently very hard to google :(

This comment seems to have pretty detailed instructions for the SEO part: https://github.com/orgs/community/discussions/42375#discussioncomment-5296219 might be worth following once we get the pages & documentation up</comment_new>


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

…es deployment workflow

Co-authored-by: cvraut <10603882+cvraut@users.noreply.github.com>
Copilot AI changed the title [WIP] Add documentation page for supported use cases Add MkDocs Material documentation site with per-platform webhook guides and GitHub Pages deployment Mar 9, 2026
@cvraut
cvraut requested a review from Copilot March 9, 2026 18:09
@cvraut

cvraut commented Mar 9, 2026

Copy link
Copy Markdown
Owner

I was unaware than mkdocs1.0 has been sunsetted... can you redo the documentation to use zensical instead?

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a MkDocs Material documentation site for whecho, with platform-specific webhook setup guides and a GitHub Actions workflow to deploy the site to GitHub Pages.

Changes:

  • Introduces MkDocs Material configuration (mkdocs.yml) with navigation + markdown extensions.
  • Adds documentation pages for the Python API and platform webhook setup (Discord/Slack/Webex/Teams).
  • Adds a GitHub Actions workflow to build and deploy docs to GitHub Pages.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
mkdocs.yml Configures MkDocs Material theme, nav, and markdown extensions for the new docs site.
docs/index.md Adds a home/quickstart page, CLI reference, supported platforms list, and TOC.
docs/api.md Documents the public whecho_simple API and configuration details.
docs/platforms/discord.md Adds a Discord webhook acquisition + usage walkthrough.
docs/platforms/slack.md Adds a Slack Incoming Webhooks walkthrough.
docs/platforms/webex.md Adds a Webex Incoming Webhooks walkthrough with payload details.
docs/platforms/teams.md Adds a Microsoft Teams Incoming Webhooks walkthrough.
.github/workflows/docs.yml Builds docs on main and deploys them to GitHub Pages.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread mkdocs.yml
- pymdownx.inlinehilite
- pymdownx.snippets
- attr_list
- md_in_html

Copilot AI Mar 9, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Several docs pages use Markdown tables, but the tables extension isn’t enabled. MkDocs (Python-Markdown) doesn’t render tables unless tables is configured, so the tables in docs/index.md and docs/api.md will likely render as plain text. Add the tables markdown extension in mkdocs.yml.

Suggested change
- md_in_html
- md_in_html
- tables

Copilot uses AI. Check for mistakes.
Comment thread docs/index.md
Comment on lines +25 to +30
| Platform | Guide |
|---|---|
| Discord | [Discord Webhook Setup](platforms/discord.md) |
| Slack | [Slack Webhook Setup](platforms/slack.md) |
| Webex | [Webex Webhook Setup](platforms/webex.md) |
| Microsoft Teams | [Teams Webhook Setup](platforms/teams.md) |

Copilot AI Mar 9, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The table syntax has an extra leading | on each row (|| ...), which creates an unintended empty first column (or can break rendering depending on the Markdown parser). Use standard table rows with a single leading pipe (| Platform | Guide |, etc.) here (and similarly in docs/api.md).

Copilot uses AI. Check for mistakes.
Comment thread docs/platforms/webex.md
Comment on lines +80 to +81
- `**bold**` or `*bold*`
- `_italic_`

Copilot AI Mar 9, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*bold* is typically italic in Markdown, not bold. This bullet should describe bold as **bold** (or __bold__) and reserve single-asterisk (or single-underscore) examples for italic.

Suggested change
- `**bold**` or `*bold*`
- `_italic_`
- `**bold**` or `__bold__`
- `*italic*` or `_italic_`

Copilot uses AI. Check for mistakes.
Comment thread mkdocs.yml
@@ -0,0 +1,53 @@
site_name: whecho
site_description: Linux echo with webhooks!
site_url: https://cvraut.github.io/whecho

Copilot AI Mar 9, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For GitHub Pages sites served from a project subpath, it’s generally better to set site_url with a trailing slash (.../whecho/) to avoid canonical/SEO and relative URL edge cases. Consider updating site_url accordingly.

Suggested change
site_url: https://cvraut.github.io/whecho
site_url: https://cvraut.github.io/whecho/

Copilot uses AI. Check for mistakes.
python-version: '3.11'

- name: Install MkDocs and Material theme
run: pip install "mkdocs-material" "mkdocs<2"

Copilot AI Mar 9, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow pins MkDocs but leaves mkdocs-material unpinned, which can introduce breakages from upstream theme releases. Consider pinning mkdocs-material to a known-good version range (or using a docs/requirements.txt / requirements-docs.txt with both pinned) and installing from that to make builds reproducible.

Suggested change
run: pip install "mkdocs-material" "mkdocs<2"
run: pip install "mkdocs-material>=9.5,<10" "mkdocs<2"

Copilot uses AI. Check for mistakes.
@cvraut

cvraut commented Mar 9, 2026

Copy link
Copy Markdown
Owner

closing PR as work is continuing in #24 instead

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants